// userjs模块 封装关于用户方面的api接口 并且暴露提供接口
import http from '@/utils/request'
// 导入 store仓库
// import store from '@/store'
// 登录接口
export const reqLogin = (mobile, code) => {
  return http({
    url: '/v1_0/authorizations',
    method: 'post',
    // post 携带参数
    data: {
      mobile,
      code
    }
  })
}

// 获取用户个人资料接口
export const reqGetUserProfile = () => {
  return http({
    method: 'get',
    url: '/v1_0/user/profile'
    // headers节点可以自定义请求头信息
    /* headers: {
      // a: 100000000,
      // b: 999
      // Authorization: `Bearer 4e8270e3-e51d-4432-a4fc-9e7c7b9df5c3` // Bearer + 空格 + toke
      // this.$store.state.xxx 这种方式获vuex中的数据只能是在.vue文件中
      // 在js文件中处理 导入仓库 直接拿仓库访问
      Authorization: `Bearer ${store.state.user.tokenInfo.token}`
    } */
  })
}

// 封装获取用户粉丝接口
export const reqGetFansList = () => {
  return http({
    method: 'get',
    url: '/v1_0/user/followers'
    /*  headers: {
      Authorization: `Bearer ${store.state.user.tokenInfo.token}`
    } */
  })
}
// 关注
export const reqFollowUser = (target) => {
  // ----- 关于这个接口，接口文档写的有问题, 一定记得传参----
  return http({
    method: 'post',
    url: '/v1_0/user/followings',
    data: {
      target // 关注的作者的id
    }
  })
}
// 取关
// get delete params携带参数   post put patch  data携带参数
export const reqUnFollowUser = (id) => {
  return http({
    method: 'delete',
    url: `/v1_0/user/followings/${id}` // 关注的作者的id
  })
}
// 刷新token api
export const reqGetNewToken = (refresh_token) => {
  return http({
    url: '/v1_0/authorizations',
    method: 'put',
    // 单独配置请求头
    headers: {
      Authorization: `Bearer ${refresh_token}`
    }
  })
}

// 获取用户自己信息
export const reqGetSelfInfo = () => {
  return http({
    method: 'get',
    url: '/v1_0/user'
  })
}

// 更新用户资料  复用的接口
export const reqUpdateUserInfo = (data) => {
  return http({
    method: 'patch',
    url: '/v1_0/user/profile',
    data
  })
}
// reqUpdateUserInfo({name: 'xxx'})
// reqUpdateUserInfo({gender: '1'})
// reqUpdateUserInfo({birthday: '1'})
// 头像修改
export const reqUpdatePhoto = (formData) => {
  return http({
    method: 'patch',
    url: '/v1_0/user/photo',
    data: formData
  })
}
